Session Initiation Protocol (SIP) is an IETF standard protocol (RFC 3261 and several others for extensions, originated by 3GPP (3rd Generation Partnership Project; a mobile network standardisation body)) for IP-communication, enabling IP-Telephony gateways, client endpoints, PBXs and other communication systems or devices to communicate with each other. SIP mainly addresses the call setup and tear down mechanisms of sessions and is independent of the transmission of media streams between caller and callee.
There are several Java platform APIs developed under the Java Community Process that support Java SIP applications.
Specification | JSR(s) |
---|---|
JAIN SIP API Specification (JSIP) | JSR 32 (1.0, 1.1) As of 2006[update] JSIP 1.2 is being developed as a maintenance release of JSR 32. |
SIP API for J2ME | JSR 180 (1.0) |
SIP Servlet API | JSR 116 (1.0) JSR 289 (1.1) |
Contents |
The JAIN SIP Specification defines an API which allows for the rapid development of IP Telephony services and applications written in the Java(TM) programming language. The JSIP packages are:
javax.sip
, javax.sip.message
, javax.sip.header
, javax.sip.address
javax.sdp
SIP API for J2ME defines a multipurpose SIP API for Java ME clients. It enables SIP applications supporting MIDP/CLDC to run SIP enabled MIDlets to be executed in memory limited terminals, especially targeting to mobile phones.
The SIP Servlet API defines a high-level servlet extension for SIP servers. It enables SIP applications to be deployed and managed based on the servlet model.
Mobicents Sip Servlets platform, is an open source certified implementation of the SIP Servlet v1.1 (JSR 289 Spec) on top of Tomcat & JBoss containers.
A SIP implementation using JAVA is the Jitsi softphone.